package com.cms.certificate.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.cms.common.annotation.Excel;
import com.cms.common.core.domain.BaseEntity;

/**
 * 证书文件对象 cms_certificate
 * 
 * @author rjxy
 * @date 2025-09-29
 */
public class CmsCertificate extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 证书ID */
    private Long id;

    /** 证书原始文件名 */
    @Excel(name = "证书原始文件名")
    private String name;

    /** 证书大小（字节） */
    @Excel(name = "证书大小", readConverterExp = "字=节")
    private Long size;

    /** 证书类型（如image/jpeg） */
    @Excel(name = "证书类型", readConverterExp = "如=image/jpeg")
    private String fileType;

    /** 证书存储路径（后端真实路径） */
    @Excel(name = "证书存储路径", readConverterExp = "后=端真实路径")
    private String filePath;

    /** 上传者ID（关联sys_user.id） */
    @Excel(name = "上传者ID", readConverterExp = "关=联sys_user.id")
    private Long uploadUserId;

    /** 上传时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "上传时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date uploadTime;

    /** 逻辑删除：0=正常，1=已删除 */
    @Excel(name = "逻辑删除：0=正常，1=已删除")
    private Integer isDeleted;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setSize(Long size) 
    {
        this.size = size;
    }

    public Long getSize() 
    {
        return size;
    }
    public void setFileType(String fileType) 
    {
        this.fileType = fileType;
    }

    public String getFileType() 
    {
        return fileType;
    }
    public void setFilePath(String filePath) 
    {
        this.filePath = filePath;
    }

    public String getFilePath() 
    {
        return filePath;
    }
    public void setUploadUserId(Long uploadUserId) 
    {
        this.uploadUserId = uploadUserId;
    }

    public Long getUploadUserId() 
    {
        return uploadUserId;
    }
    public void setUploadTime(Date uploadTime) 
    {
        this.uploadTime = uploadTime;
    }

    public Date getUploadTime() 
    {
        return uploadTime;
    }
    public void setIsDeleted(Integer isDeleted) 
    {
        this.isDeleted = isDeleted;
    }

    public Integer getIsDeleted() 
    {
        return isDeleted;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("name", getName())
            .append("size", getSize())
            .append("fileType", getFileType())
            .append("filePath", getFilePath())
            .append("uploadUserId", getUploadUserId())
            .append("uploadTime", getUploadTime())
            .append("isDeleted", getIsDeleted())
            .append("remark", getRemark())
            .toString();
    }
}
